package com.example.auth.service;

import com.example.auth.dto.UserLoginDto;
import com.example.auth.dto.UserRegisterDto;
import com.example.auth.vo.UserInfoVo;

/**
 * 认证服务接口
 * 
 * @author Qoder
 * @since 2025-09-06
 */
public interface AuthService {

    /**
     * 用户注册
     * 
     * @param registerDto 注册信息
     * @return 注册结果
     */
    String register(UserRegisterDto registerDto);

    /**
     * 用户登录
     * 
     * @param loginDto 登录信息
     * @return 用户信息和token
     */
    UserInfoVo login(UserLoginDto loginDto);

    /**
     * 用户登出
     */
    void logout();

    /**
     * 获取当前登录用户信息
     * 
     * @return 用户信息
     */
    UserInfoVo getCurrentUser();

    /**
     * 刷新token
     * 
     * @return 新的token
     */
    String refreshToken();
}